// pages/chat/chat.ts
import { getGuideList, getStatus } from '../../api/guide';
import { isLogin, login } from '../../utils/login'

Page({
  /**
   * 页面的初始数据
   */
  data: <any>{
    detail: null,
    isShow: false
  },

  onLoad() {
    const _self = this;
    const eventChannel = this.getOpenerEventChannel()
    eventChannel.on('acceptDataFromOpenerPage', function(data) {
      const detail = data;
      if(data.name){
        detail.viewTitle =  data.hospital + ' ' + data.name
        if(data.name.length > 10 || data.name.length + data.hospital >= 20){
          detail.viewTitle = data.name
        }
      }
      detail.detail = detail.detail.replace(/\n/g, '<br />').replace(/\[(.*?)\]/g, '<p><h3>$1</h3></p>')
      _self.setData({
        detail
      })
    })
  },

  onShow(){
    if(isLogin()){
      getStatus().then(res => {
        if(res.data){
          this.setData({
            isShow: res.data.status === '0'
          })
        }
      })
    }
  },

  goToChat(){
    getGuideList({
      name: this.data.detail.guide,
      pageNum: 1,
      pageSize: 1
    }).then(res => {
      if(res.rows && res.rows.length > 0){
        this.chatRouter(res.rows[0])
      }else{
        wx.showToast({
          title: '找不到指南',
          icon: 'error'
        });
      }
    })
  },

  chatRouter(guide) {
    wx.navigateTo({
      url: '/pages/chat/chat',
      success: (res) => {
        res.eventChannel.emit('acceptDataFromOpenerPage', {
          currentGuide: guide
        })
      }
    });
  },

  backToCase(){
    wx.navigateBack({
      delta: 1  // delta 值为 1 时表示关闭当前页面
    });
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {
    try {
      this.data.requestTask.abort()
    } catch (error) {
      console.log('还没发请求就退出了，正常不会有影响')
    }
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {
    return {
      "title": "",
      "path": `pages/home/home?active=1`,
      "imageUrl": "/static/img/home.jpg"
    }
  }
})